JAVA中的“>>”和“>>>”运算符

来源:百度知道 编辑:UC知道 时间:2024/05/10 23:51:46
JAVA书上说“>>”运算符执行算术或带符号的右移,意味着符号位也将随同数字位一同右移。
例 int enghth = X>>3
根本看不懂得上面一段话是什么意思,请兄弟们给我举个实在点的例子,并且把上面写的例子也顺道解释一下!

然后说说“>>>”它意味着右移零填充,如果需要对短证书和字节执行无符号右移,首先应该屏蔽需要的数据位,然后使用“>>”运算符。
例 byte b = -1;
b=(byte)((b&0xff)>>4);

我日这例子是个啥意思啊,买高手给我解答啊。

1、>>:右移运算符,num >> 1,相当于num除以2。

按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。符号位不变。

如:-1在32位二进制中表示为:11111111 11111111 11111111 11111111,-1>>1:按位右移,符号位不变,仍旧得到11111111 11111111 11111111 11111111,因此值仍为-1

2、>>>:二进制右移补零操作符,左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充,如value >>> num中,num指定要移位值value 移动的位数。

扩展资料

“>>”和“>>>”等移位运算符的运算规则:

1、无符号右移,忽略符号位,空位都以0